Computer networks have become ubiquitous. Computer networks include the Internet, Service Provider (SP) networks, private networks, and Local Area Networks (LANs), for example. Users of these networks send many different types of network traffic over these networks. The types of network traffic are sometimes referred to as classes of traffic and may include, for example, voice, video, and data. Different classes of traffic may require or impose different demands on network performance. For example, data traffic carrying email message information may not require real-time transmission across a network, whereas voice or video traffic does require real-time transmission in order to avoid traffic latency that may effect the end-use experience in viewing or listening to the voice or video transported across the network.
Multi-Topology Routing (“MTR”) is a technology that network designers use when developing data networking products and services to allow processing in network devices to influence the path through a network that certain types of data traffic can take to reach a given destination in the network. MTR allows different types of traffic to take different routes in the network based on attributes of data packets such as a DiffServ Code Point (“DSCP”), application type, data type etc. MTR processing can examine the attribute of a data packet and can select a specific route for that packet within the network that best coordinates with requirements of transmission of that packet, such as real-time, delay allowed, or the like, based on certain packet attributes. MTR facilitates the creation of multiple logical topologies, which may be referred to herein as MTR topologies, within a single physical topology of the network, such that each logical topology can independently specify the path to a destination. MTR provides the capability to map the incoming traffic (i.e. packet attribute(s)) to a logical topology and offer service differentiation through class-based forwarding. MTR differs from Quality of Service (“QoS”), which provides per-hop service differentiation, in that MTR provides path-based service differentiation.
MTR involves two primary components: 1) extensions to routing protocols to signal topology-aware routing information and 2) topology-aware forwarding tables. MTR relies on marking and classifying incoming traffic to map to a topology. A topology is a subset of routers and links in an underlying network (or base topology). Thus, a topology is also characterized by an independent set of Network Layer Reachability Information (“NLRI”). A topology can overlap or share any subset of the underlying network.
MTR provides separate routing/forwarding capabilities on a per topology basis. Within a given router, an MTR topology facilitates a selection of routes upon which to forward traffic to a given destination. Each topology can route/forward a subset of the traffic as defined by a classification criteria. The specific choice of router is based on the class of the packet being forwarded and a class is determined based on an attribute of the packet itself. Thus, MTR allows packets (i.e. traffic) of different classes to be routed independently from one another. The path that a packet follows is determined by classifiers configured on the routers and interfaces in the network. The mapping of traffic to a topology is sometimes also referred to as topology selection.
Internet developers have created an Internet Protocol Security (IPSec) protocol to allow secure network-layer encryption of data traffic. IPSec is a standards-based method providing data privacy, data integrity and data authenticity and uses key management and security associations to create secure tunnels at the network layer between network devices.